// RCSFlagGetter.h: interface for the RCSFlagGetter class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_RCSFLAGGETTER_H__431AC281_A327_4F89_9E2C_478EC6CFC6F3__INCLUDED_)
#define AFX_RCSFLAGGETTER_H__431AC281_A327_4F89_9E2C_478EC6CFC6F3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "RCSFlagGetStrategy.h"

class __declspec(dllexport) RCSFlagGetter  
{
public:
	RCSFlagGetter() { m_getter = 0; }
	virtual ~RCSFlagGetter() {}

public:
	static RCSFlagGetter& Instance();
	int GetRCSFlag() { assert( m_getter ); return m_getter->Get(); }
	void SetGetter( RCSFlagGetStrategy* getter ) { m_getter = getter; }

private:	
	static RCSFlagGetter m_Inst;
	RCSFlagGetStrategy* m_getter;
};

#endif // !defined(AFX_RCSFLAGGETTER_H__431AC281_A327_4F89_9E2C_478EC6CFC6F3__INCLUDED_)
